home *** CD-ROM | disk | FTP | other *** search
/ Nebula 1 / Nebula One.iso / Utilities / BenchMarks / ByteBenchmark / pgms / loops.awk < prev    next >
Text File  |  1994-01-27  |  2KB  |  56 lines

  1. ###############################################################################
  2. #  The BYTE UNIX Benchmarks - Release 1
  3. #          Module: loops.awk   SID: 1.4 5/15/91 19:30:25
  4. #      LOOPS per second
  5. #          
  6. ###############################################################################
  7. # Bug reports, patches, comments, suggestions should be sent to:
  8. #
  9. #    Ben Smith or Tom Yager at BYTE Magazine
  10. #    ben@bytepb.byte.com   tyager@bytepb.byte.com
  11. #
  12. ###############################################################################
  13. #  Modification Log:
  14. #        created 2/12/91 -ben
  15. #
  16. ###############################################################################
  17. BEGIN { rsum = 0.000; r2sum = 0.000; r_product = 0.0000;
  18.       iter = 0; Test=""; SubTest=""; secs = 0.00; secs_sum = 0.00;
  19.     }
  20. /TEST\|/ { split($0, junk,"|");
  21.     Test=junk[2]; 
  22.     }
  23. /FLAVOR\|/ { split($0, junk,"|");
  24.     flavor=junk[2] ; 
  25.     }
  26. /loops/ { loops=$1; 
  27.     iter ++;
  28.         }
  29. /real/    { if (flavor == "SysV") {time_str=$2; }
  30.       else {time_str=$1; }
  31.     # determine seconds from time_str
  32.     if ( time_str ~/\:/)
  33.        {
  34.        split(time_str,junk,":");
  35.        secs = 60 * junk[1] + junk[2];
  36.        }
  37.     else { secs = time_str; }
  38.     if(loops) { rsum += loops/secs;
  39.         r2sum += (loops*loops)/(secs*secs);
  40.         r_product += (log(loops)-log(secs));
  41.         secs_sum += secs;
  42.         }
  43.     }  
  44. /user/    { if (flavor == "SysV") { next;} } # don't use these times
  45. /sys/    { if (flavor == "SysV") { next;} } # don't use these times
  46. #/^$/    { next } 
  47. END {
  48.     if (iter > 0) {  
  49. # TestName|Sample(seconds)|units|ArithMean|GeoMean|DataPoints
  50.         printf("%s|%.1f|lps|%.1f|%.1f|%d\n",Test,secs_sum/iter,rsum/iter,exp(r_product/iter),iter)
  51.         }
  52.     else { 
  53.         printf("%s|  no measured results|\n",Test); 
  54.         }
  55.     }
  56.